/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controladora;

import Entidades.DiretorRegional;
import Persistencia.PesistenciaDiretorRegional;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import javax.swing.table.DefaultTableModel;
import telas.CadastroDiretoresRegionaisView;
import telas.DiretorGeralView;
import telas.ManterDiretoresRegionaisView;

/**
 *
 * @author Thalyta
 */
public class ManterDiretorRegional {
    
    private ManterDiretoresRegionaisView diretor ;;
    private PesistenciaDiretorRegional diretores = new PesistenciaDiretorRegional ();

    public ManterDiretorRegional( ManterDiretoresRegionaisView direto) {
        diretor = direto ;
        
        Carregar(diretores.getDiretores(),diretor);
        
        diretor.getBtncadastrar().addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
            cadastrar();
            }
        });
        
        
        diretor.getBtneditar().addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
            editar();
            }
        });
        
        
        diretor.getBtnexcluir().addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
            excluir();
            }
        });
        
        
        diretor.getBtnfechar().addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
            fechar();
            }
        });
        
        diretor.setVisible(true);
    }
    
 public void cadastrar(){
     CadastroDiretoresRegionaisView tela  = new CadastroDiretoresRegionaisView();
     CadastrarDiretoresRegionais contoladora = new CadastrarDiretoresRegionais(tela);
     diretor.setVisible(false);
 
 }
 
 
 public void editar(){
 String nome = diretor.getTbltabelaregional().getValueAt(diretor.getTbltabelaregional().getSelectedRow(), 0).toString();
                 DiretorRegional b ;
                  b = diretores.PesquisaDiretores(nome);
                 CadastroDiretoresRegionaisView tela  = new CadastroDiretoresRegionaisView();
                 tela.getTxtnome().setText(b.getNome());
                 tela.getTxtDataNascimento().setText(b.getCPF());
                 tela.getTxtendereco().setText(b.getEndereço());
                 tela.getTxtnomeusuario().setText(b.getNomeusuario());
                  tela.setVisible(true);
                  diretores.excluirDiretorRegional(b);
                 diretores.gravaDiretoRegional();
                  CadastrarDiretoresRegionais contoladora = new CadastrarDiretoresRegionais(tela);
                 diretor.setVisible(false);
 }
 
 
 public void excluir(){
     
                 String nome = diretor.getTbltabelaregional().getValueAt(diretor.getTbltabelaregional().getSelectedRow(), 0).toString();
                 DiretorRegional b ;
                 b = diretores.PesquisaDiretores(nome);
                 diretores.excluirDiretorRegional(b);
                 diretores.gravaDiretoRegional();
                 ManterDiretoresRegionaisView diretoresview = new ManterDiretoresRegionaisView();
                 ManterDiretorRegional controladora = new ManterDiretorRegional(diretoresview);
                 diretor.setVisible(false);
 
 }
 
 
 public void fechar(){
  DiretorGeralView tela = new DiretorGeralView();
  DiretorGeralPresenter contr = new DiretorGeralPresenter(tela);
  diretor.setVisible(false);
 
 }
 private void Carregar(ArrayList a, ManterDiretoresRegionaisView diretor )  {
     DefaultTableModel tm = new DefaultTableModel(
                
            new Object[][]{},
            new String [] {"Nome", "Endereço", "CPF","Estados das agencias"}){
            
        @Override
        public boolean isCellEditable(int row, int col){
            return false;
        }
     };
       
     tm.setNumRows(0);
     
      for (int i = 0; i < a.size(); i++) {
            
            DiretorRegional b = (DiretorRegional ) a.get(i);
            tm.addRow(new Object[]{b.getNome(), b.getEndereço(),b.getCPF(),b.getUF()});
         
         
     }
    diretor.getTbltabelaregional().setModel(tm);
      
  }
}
